feat(studio): dock game console beneath world bar, remove it from footer#1632
Merged
Conversation
This was referenced Jun 12, 2026
refactor(studio): decompose App.tsx non-React corpus into feature modules and shared utilities
#1608
Merged
Merged
Merged
|
Railway preview (MapGen Studio): not provisioned for this PR. Policy (Graphite stacks): previews are created only for the top-of-stack PR by default.
Debug: |
This was referenced Jun 12, 2026
Owner
Author
This was referenced Jun 12, 2026
Merged
mateicanavra
force-pushed
the
design/pass4-frame
branch
from
June 12, 2026 20:44
c0da2f8 to
b781e34
Compare
mateicanavra
force-pushed
the
design/game-console-dock
branch
from
June 12, 2026 20:44
5636cda to
a0eefeb
Compare
Owner
Author
Merge activity
|
mateicanavra
changed the base branch from
design/pass4-frame
to
graphite-base/1632
June 12, 2026 21:44
… = game, bottom = studio) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
mateicanavra
force-pushed
the
design/game-console-dock
branch
from
June 12, 2026 21:46
a0eefeb to
3808c30
Compare
This was referenced Jun 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

The
GameConsolecomponent has been relocated from the bottom-right of the footer to a dedicated slot in the header, docked as a centered row beneath the world-config bar. This establishes a clear vertical zoning model: the header zone owns everything related to live Civ7 (world definition + game console), while the footer zone owns the studio iteration loop exclusively (status, seed, reroll, auto-run, Run).AppHeadergains agameConsoleprop (ReactNode) that renders after the transient setup panel, keeping the setup disclosure attached to its button. The existing measured-header mechanism (onHeaderHeightChange→panelTop) automatically reflows the side panels to begin below the taller header.StudioShellnow composesGameConsoledirectly into that slot with the props previously threaded throughAppFooter.AppFooterdrops the game console, its right flex zone, and all associated props (onRunInGame,runInGameStatus,liveRuntime,onToggleAutoplay, etc.). The studio console is now simply centered. The shared operation-gating booleans (isRunInGameRunning,isSaveDeployRunning) remain on the footer to preserve the behavior that disables seed/reroll/run controls while a game-side operation is in flight.Test coverage is reorganized to match ownership: all live-game scenarios (Run in Game phases, retry/restart recovery, autoplay, stale live seed, save/deploy status) move from
AppFooter.test.tsxinto a newGameConsole.test.tsxthat mounts the component that actually renders that markup.AppFooter.test.tsxis trimmed to studio-console rendering and shared operation-gating assertions.